package day06;
/*
* 需求:<<主持人大赛>>有N位评委给选手打分
*   选手的最终得分为:去掉最高分和最低分之后的N-2位评委的平均分
* 要求:使用方法实现
* */
import java.util.Scanner;
public class CalTotalAvg {
    public static void main(String[] args) {//主持人
        double[] scores =  inputData(6);//1)录入评委的评分
        double avg = calAvg(scores);//2)计算平均分
        System.out.println("平均分为: "+avg);
    }
    /** 该方法用于录入N为评委的评分 */
    public static double[] inputData(int n){
        double[] scores = new double[n]; //评分数组
        Scanner sc = new Scanner(System.in);//扫描器,输入分数
        for(int i= 0; i<scores.length; i++){
            System.out.println("请录入第"+(i+1)+"位评委的分数");//第几位评委的分数
            scores[i] = sc.nextDouble();//扫描输入的数据
        }
        return  scores;//有返回值的方法,必须要有return
    }
    /** 该方法用于计算平均分 */
    public static double calAvg(double[] scores){
        double total = 0.0;
        double max = scores[0];
        double min = scores[0];
        for(int i=0; i<scores.length; i++){
            total += scores[i]; //累加所有评分
            if(scores[i]>max){//找最高分
                max = scores[i];
            }
            if(scores[i]<min){//找最低分
                min = scores[i];
            }
        }
        double avg = (total-max-min)/(scores.length-2);//平均分

        return avg;
    }
}
